package com.ctshk.rpc.season.req;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * @author 杨林
 * @version 1.0
 * @date 2021/3/22 15:56
 */

@Data
@ApiModel(value = "UpdatePackageProductReq对象", description = "预订中心-更换打包产品")
public class UpdatePackageProductReq implements Serializable {


    @ApiModelProperty(value = "固定套票打包产品类型 1：酒店 2：机票 3：船票 4：火车 5：巴士 6：景点门票", required = true)
    @NotNull(message = "最小成行人数不为空")
    //@Pattern(regexp = "^[1-6]$", message = "固定套票打包产品类型有误")
    private int packageProductType;

    @ApiModelProperty(value = "套票产品id", required = true)
    @NotNull(message = "套票产品 id 不能为空")
    private Long seasonProductId;

    @ApiModelProperty(value = "套票打包id", required = true)
    @NotNull(message = "套票打包 id 不能为空")
    private Long packageId;

    @ApiModelProperty(value = "行程类型(depart：出发，return：回程)")
    private String journeyType;

    @ApiModelProperty(value = "出发开始日期")
    @NotNull(message = "出发日期不能为空")
    private LocalDate startDate;

    @ApiModelProperty(value = "结束日期 当行程类型为回程时，必填")
    @NotNull(message = "结束日期不能为空")
    private LocalDate endDate;


    //旅客类型
    @ApiModelProperty(value = "旅客类型集合")
    private List<PassengerReq> passengerReqList;
    //酒店 房间数 默认1间
    private Integer roomNum = 1;

    //酒店 行程晚数
    private Integer travelNights;

    @ApiModelProperty(value = "用户id")
    private Long userId;


}